Python的IO简析(附密码字典生成器py脚本)

您所在的位置:网站首页 python 字典生成器 Python的IO简析(附密码字典生成器py脚本)

Python的IO简析(附密码字典生成器py脚本)

#Python的IO简析(附密码字典生成器py脚本)| 来源: 网络整理| 查看: 265

1,什么是Python的IO(底层)

2,python的open()函数(读取字符和字节文件)(with语句块的使用)

3,python的xxx.write()方法

4,Python文件的备份

5,密码字典生成器

 

壹   什么是Python的IO

input && output  输入和输出;

简单的说就是将内存中的瞬时数据持久化到硬盘上;

其实在控制台接收数据的input函数也算是IO的一部分,但我们今天主要是讨论一下从内存和硬盘中IO数据的一些方法

 

 

 

贰   python的open()函数

有点多,先简单说一下操作文件的第一步:打开文件:

  open(文件路径,打开模式) """ 调用open函数打开一个文件 open函数打开当前工作空间下的a.txt文件 第二个参数表示打开文件的模式 默认不写,则是rt,表示读取文件 默认读取的数据是文本文档 第二个参数的说明文档摘要: ========= =============================================================== Character Meaning --------- --------------------------------------------------------------- 'r' open for reading (default) 'w' open for writing, truncating the file first 'x' create a new file and open it for writing 'a' open for writing, appending to the end of the file if it exists 'b' binary mode 't' text mode (default) '+' open a disk file for updating (reading and writing) 'U' universal newline mode (deprecated) ========= =============================================================== """ f = open("C:\\Users\\Administrator\\Desktop\\code\\b.txt", "rt", encoding="utf-8")

这样就成功的打开了"C:\\Users\\Administrator\\Desktop\\code\\b.txt"路径下的这个文件

模式rr+ww+aa+读++ + +写 +++++创建  ++++覆盖  ++  指针在开始++++  指针在结尾    ++

不知道用啥的时候,就用W+,全能的

 

file.read(size)

为了读取一个文件的内容,调用 f.read(size), 这将读取一定数目的数据, 然后作为字符串或字节对象返回。

size 是一个可选的数字类型的参数。 当 size 被忽略了或者为负, 那么该文件的所有内容都将被读取并且返回。

f = open("C:\\Users\\Administrator\\Desktop\\code\\b.txt", "rt", encoding="utf-8") print(f.read())   file.close()

在文本文件中 (那些打开文件的模式下没有 b 的), 只会相对于文件起始位置进行定位。

当你处理完一个文件后, 调用 f.close() 来关闭文件并释放系统的资源,如果尝试再调用该文件,则会抛出异常。

f = open("C:\\Users\\Administrator\\Desktop\\code\\b.txt", "rt", encoding="utf-8") print(f.read()) f.close()   with语句块

with语句块 在IO操作的时候,发现IO一旦打开,必须关闭;关闭操作又很容易被程序员忘记!

 python为大家提供with 在python如果使用with 打开IO,则with结束时 自动调用io的close,就不用在写file.close()了

with open("C:\\Users\\95385\\Desktop\\test.txt", "a") as f: f.write("alexz NB\n") """ 这样子就成功用“a”追加模式打开了一个文件,并且在里面写下了一行字符串,并换行; 通过with语句块写的IO操作在末尾可以不用协商close(),因为编译器会自动执行关闭命令 """

 

file.write()方法

f.write(string) 将 string 写入到文件f中, 然后返回写入的字符数。

但是前提写入的东西必须是字符串,若不是字符串记得用 str() 转化一下

msg = "abcdefg\n" f = open("C:\\Users\\95385\\Desktop\\test.txt", "w") print(f.write(msg)) f.close() """ 运行结果就是8,因为7个字符加上一个换行 mode=a,a append,表示在文档末尾再追加数据 不会覆盖原有数据 如果是mode='x',表示该文件必须在不存在的情况下,第一次打开,就会创建文件 """

 

 

 

肆   用open函数进行数据的复制(备份) def copy_file(): with open("C:\\Users\\95385\\Desktop\\test.jpg", "rb") as fr: #这里的图片,并不是字符串类型的数据,所以进行读写操作的时候需要使用 “b” 字节类型的数据 """ |------- 这里是用的是with语句块 -------| """ with open("C:\\Users\\95385\\Desktop\\test2.jpg", "ab") as fw: while True: # fr.read() # 不要这样读取数据 content = fr.read(10 * 1024 * 1024) # 一个10M为单位读取数据,防止读取过多,导致内存不够用,电脑蓝屏 if content != b'': fw.write(content) # 直接将数据读取到内存中的content来进行转发 else: break copy_file()

可以吧函数的形参变一下,就可以任意路径进行数据备份了

 

 

 

伍   密码字典生成器py脚本实现 # @Time : 2020.02.28 # @Author : Alexz__ # @File : 密码字典生成器.py num = ["0","1","2","3","4","5","6","7","8","9"] #可以自行添加需要排列组合的元素 with open("C:\\Users\\95385\\Desktop\\密码字典.txt","w") as fw: #添加密码字典输出路径 for x in range(0,10): #要输出多少位密码就要有多少个for循环 for y in range(0,10): for z in range(0,10): for j in range(0,10): for k in range(0,10): dic = [num[x],num[y],num[z],num[j],num[k]] passwd = ''.join(dic) #通过join方法将列表拼接成字符串,才得以输出 fw.write(passwd+'\n') #密码字典的通用写法:一行一个

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3